package com.gdpu.project.dao;

import java.util.List;

import com.gdpu.page.vo.QueryResult;
import com.gdpu.project.vo.Project;

public interface ProjectDao {

	public abstract void save(Project transientInstance);

	public abstract void delete(Project persistentInstance);

	public abstract Project findById(java.lang.Integer id);

	public abstract List<Project> findByExample(Project instance);

	public abstract QueryResult<Project> findByProperty(String propertyName,
			Object value,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByProjectId(Object projectId,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByProjectType(Object projectType,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByProjectName(Object projectName,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByProjectOrgin(Object projectOrgin,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByProjectXz(Object projectXz,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByCyrs(Object cyrs,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByComment(Object comment,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByProjectFile(Object projectFile,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByFilePath(Object filePath,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByApplyState(Object applyState,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByAppalBz(Object appalBz,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByApprovalState(Object approvalState,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByApprovalBz(Object approvalBz,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByApprovalFileName(Object approvalFileName,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByApprovalFilePath(Object approvalFilePath,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByMonitorState(Object monitorState,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByMonitorBz(Object monitorBz,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByMonitorFileName(Object monitorFileName,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByMonitorFilePath(Object monitorFilePath,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByEndState(Object endState,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByEndBz(Object endBz,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByEndFileName(Object endFileName,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByEndFilePath(Object endFilePath,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByTeacherId(Object teacherId,int firstindex,int maxresult);

	public abstract QueryResult<Project> findByTeacherName(Object teacherName,int firstindex,int maxresult);

	public abstract List<Project> findAll();

	public abstract Project merge(Project detachedInstance);

	public abstract void attachDirty(Project instance);

	public abstract void attachClean(Project instance);
}